//============================================================================================
/**
 * @file	phclink_benefit.c
 * @brief	ＰＨＣ−ＤＳ接続画面 報酬画面 【シーケンス】
 * @author	Akito Mori
 * @date	09.02.02
 */
//============================================================================================
#include "common.h"
#include "gflib/touchpanel.h"
#include "system/gamedata.h"
#include "system/procsys.h"
#include "system/main.h"
#include "system/fontproc.h"
#include "system/window.h"
#include "system/pmfprint.h"
#include "system/snd_tool.h"
#include "system/arc_tool.h"
#include "system/arc_util.h"
#include "system/clact_tool.h"
#include "system/clact_util.h"
#include "system/msgdata.h"
#include "system/wordset.h"
#include "system/mystatus.h"
#include "system/wipe.h"
#include "poketool/pokeicon.h"
#include "gflib/strbuf_family.h"
#include "savedata/config.h"
#include "itemtool/item.h"
#include "itemtool/myitem.h"
#include "msgdata/msg.naix"
#include "msgdata/msg_phc_com.h"

#include "application/phclink.h"
#include "phclink_obj_def.h"
#include "phclink_bmp_def.h"
#include "phclink_local.h"
#include "phclink_obj.h"
#include "phclink_bmp.h"
#include "phc_ds.naix"


#ifdef PM_DEBUG
//#define PHC_ITEM_TEST
#endif

// ================================================================================
// 定義
// ================================================================================
enum{
	SUBSEQ_START=0,					///< 報酬画面開始（分岐等)
	SUBSEQ_RESULT0_INIT,			///< （たんけんけっか）
	SUBSEQ_RESULT0_FADE_WAIT,		///< フェード待ち
	SUBSEQ_RESULT0_MSG1,			///< 「かえってきた！」
	SUBSEQ_RESULT0_MSG1_2,			///< 「レベルアップした」
	SUBSEQ_RESULT0_MSG2,			///< 「ワットがたまった！」
	SUBSEQ_RESULT0_MSG3,			///< 「おや？」
	SUBSEQ_RESULT0_MSG3_1,			///< 「コースがふえた！」
	SUBSEQ_RESULT0_MSG4,			///< 「エンディングをみた！」
	SUBSEQ_RESULT0_MSG5,			///< 「ごほうびにマスターボール!」
	SUBSEQ_RESULT0_FADEOUT,			///< 「コースがふえた！」
	SUBSEQ_RESULT0_FADEOUT_WAIT,	///< フェードアウト（半透明？）

	SUBSEQ_RESULT1_INIT,			///< つれてきたポケモン開始
	SUBSEQ_RESULT1_FADE_WAIT,		///< フェード待ち
	SUBSEQ_RESULT1_MSG1,			///< 「つれてきたポケモンをボックスにしまった」
	SUBSEQ_RESULT1_FADEOUT,			///< フェードアウト
	SUBSEQ_RESULT1_FADEOUT_WAIT,	///< フェード待ち

	SUBSEQ_RESULT2_INIT,			///< どうぐ報酬画面
	SUBSEQ_RESULT2_FADE_WAIT,		///< フェード待ち
	SUBSEQ_RESULT2_MSG1,			///< 「どうぐをしまった」
	SUBSEQ_RESULT2_FADEOUT,			///< フェードアウト
	SUBSEQ_RESULT2_FADEOUT_WAIT,	///< フェード待ち

	SUBSEQ_RESULT4_INIT_FADEOUT,	///< ポケモンがいない時のプレゼント通信での結果画面
	SUBSEQ_RESULT4_INIT_FADEOUT_WAIT,///<	 ポケモンがいない時のプレゼント通信での結果画面
	SUBSEQ_RESULT4_INIT,			///< ポケモンがいない時のプレゼント通信での結果画面
	SUBSEQ_RESULT4_FADE_WAIT,		///< フェード待ち
	SUBSEQ_RESULT4_MSG2,			///< 「ワットがたまった！」
	SUBSEQ_RESULT4_MSG3,			///< 「ワットがたまった！」
	SUBSEQ_RESULT4_FADEOUT,			///< 「コースがふえた！」
	SUBSEQ_RESULT4_FADEOUT_WAIT,	///< フェードアウト（半透明？）

	SUBSEQ_RESULT5_INIT_FADEOUT,	///< フェード開始
	SUBSEQ_RESULT5_INIT_FADEOUT_WAIT,	///< ポケモンがいない時のプレゼント通信での結果画面
	SUBSEQ_RESULT5_INIT,			///< ポケモンがいない時のプレゼント通信での結果画面
	SUBSEQ_RESULT5_FADE_WAIT,		///< フェード待ち
	SUBSEQ_RESULT5_MSG1,			///< 「〜Ｗたまった」

	SUBSEQ_MSG_COMMON_WAIT,			///< 共通会話ウインドウ待ち
	SUBSEQ_END,						///< 終了
	SUBSEQ_MAX,
};


// ================================================================================
// プロトタイプ宣言
// ================================================================================
static int subseq_start( PHCLINK_WORK *wk );				// 報酬画面開始（分岐等)
static int subseq_result0_init( PHCLINK_WORK *wk );			// （たんけんけっか）
static int subseq_result0_fade_wait( PHCLINK_WORK *wk );	// フェード待ち
static int subseq_result0_msg1( PHCLINK_WORK *wk );			// 「かえってきた！」
static int subseq_result0_msg1_2( PHCLINK_WORK *wk );		// 「レベルアップした」
static int subseq_result0_msg2( PHCLINK_WORK *wk );			// 「ワットがたまった！」
static int subseq_result0_msg3( PHCLINK_WORK *wk );			// 「ワットがたまった！」
static int subseq_result0_msg3_1( PHCLINK_WORK *wk );
static int subseq_result0_msg4( PHCLINK_WORK *wk );
static int subseq_result0_msg5( PHCLINK_WORK *wk );
static int subseq_result0_fadeout( PHCLINK_WORK *wk );		// 「コースがふえた！」
static int subseq_result0_fadeout_wait( PHCLINK_WORK *wk );	// フェードアウト（半透明？）

static int subseq_result1_init( PHCLINK_WORK *wk );			// つれてきたポケモン開始
static int subseq_result1_fade_wait( PHCLINK_WORK *wk );	// フェード待ち
static int subseq_result1_msg1( PHCLINK_WORK *wk );			// 「つれてきたポケモンをボックスにしまった」
static int subseq_result1_fadeout( PHCLINK_WORK *wk );		// フェードアウト
static int subseq_result1_fadeout_wait( PHCLINK_WORK *wk );	// フェード待ち

static int subseq_result2_init( PHCLINK_WORK *wk );			// どうぐ報酬画面
static int subseq_result2_fade_wait( PHCLINK_WORK *wk );	// フェード待ち
static int subseq_result2_msg1( PHCLINK_WORK *wk );			// 「どうぐをしまった」
static int subseq_result2_fadeout( PHCLINK_WORK *wk );		// フェードアウト
static int subseq_result2_fadeout_wait( PHCLINK_WORK *wk );	// フェード待ち

static int subseq_result4_init_fadeout( PHCLINK_WORK *wk );		// ポケモンがいない時のプレゼント通信での結果画面
static int subseq_result4_init_fadeout_wait( PHCLINK_WORK *wk );	// ポケモンがいない時のプレゼント通信での結果画面
static int subseq_result4_init( PHCLINK_WORK *wk );			// ポケモンがいない時のプレゼント通信での結果画面
static int subseq_result4_fade_wait( PHCLINK_WORK *wk );	// フェード待ち
static int subseq_result4_msg2( PHCLINK_WORK *wk );			// 「ワットがたまった！」
static int subseq_result4_msg3( PHCLINK_WORK *wk );			// 「ワットがたまった！」
static int subseq_result4_fadeout( PHCLINK_WORK *wk );		// 「コースがふえた！」
static int subseq_result4_fadeout_wait( PHCLINK_WORK *wk );	// フェードアウト（半透明？）

static int subseq_result5_init_fadeout( PHCLINK_WORK *wk );		// ポケモンを預けた時の配布物受け取りフェード
static int subseq_result5_init_fadeout_wait( PHCLINK_WORK *wk );// ポケモンがいない時の配布物受け取りフェード待ち
static int subseq_result5_init( PHCLINK_WORK *wk );				// ポケモンがいない時の配布物受け取り画面
static int subseq_result5_fade_wait( PHCLINK_WORK *wk );		// フェードイン待ち
static int subseq_result5_msg1( PHCLINK_WORK *wk );				// 「〜Ｗたまった」


static int subseq_msg_common_wait( PHCLINK_WORK *wk );		// 共通会話ウインドウ待ち
static int subseq_end( PHCLINK_WORK *wk );
static void _add_itemlist( u16 list[], u16 item );


static int (*SubSeqFuncTbl[])( PHCLINK_WORK *wk )={
	subseq_start,					// 報酬画面開始（分岐等)
	subseq_result0_init,			// （たんけんけっか）
	subseq_result0_fade_wait,		// フェード待ち
	subseq_result0_msg1,			// 「かえってきた！」
	subseq_result0_msg1_2,			// 「レベルアップした」
	subseq_result0_msg2,			// 「ワットがたまった！」
	subseq_result0_msg3,			// 「コースがふえた！」
	subseq_result0_msg3_1,
	subseq_result0_msg4,			// 「エンディングをみた！」
	subseq_result0_msg5,			// 「ごほうびにスターのみ!」
	subseq_result0_fadeout,			// フェードアウト
	subseq_result0_fadeout_wait,	// フェードアウト（半透明？）

	subseq_result1_init,			// つれてきたポケモン開始
	subseq_result1_fade_wait,		// フェード待ち
	subseq_result1_msg1,			// 「つれてきたポケモンをボックスにしまった」
	subseq_result1_fadeout,			// フェードアウト
	subseq_result1_fadeout_wait,	// フェード待ち

	subseq_result2_init,			// どうぐ報酬画面
	subseq_result2_fade_wait,		// フェード待ち
	subseq_result2_msg1,			// 「どうぐをしまった」
	subseq_result2_fadeout,			// フェードアウト
	subseq_result2_fadeout_wait,	// フェード待ち

	subseq_result4_init_fadeout,		// ポケモンがいない時のプレゼント通信での結果画面
	subseq_result4_init_fadeout_wait,	// ポケモンがいない時のプレゼント通信での結果画面
	subseq_result4_init,			// ポケモンがいない時のプレゼント通信での結果画面
	subseq_result4_fade_wait,		// フェード待ち
	subseq_result4_msg2,			// 「ワットがたまった！」
	subseq_result4_msg3,			// 「ワットがたまった！」
	subseq_result4_fadeout,			// 「コースがふえた！」
	subseq_result4_fadeout_wait,	// フェードアウト（半透明？）


	subseq_result5_init_fadeout,
	subseq_result5_init_fadeout_wait,// ポケモンがいない時のプレゼント通信での結果画面
	subseq_result5_init,			// ポケモンがいない時のプレゼント通信での結果画面
	subseq_result5_fade_wait,		// フェード待ち
	subseq_result5_msg1,			// 「〜Ｗたまった」

	// この後subseq_result0_msg4につなぐ

	subseq_msg_common_wait,			// 共通会話ウインドウ待ち
	subseq_end,
};

//==============================================================================
/**
 * @brief   報酬画面初期化
 *
 * @param   wk	PHC画面ワーク
 *
 * @retval  	シーケンスNO
 */
//==============================================================================
int PhcLink_SeqBenefit_Init( PHCLINK_WORK *wk )
{
	OS_Printf("PhcLink_SeqBenefit_Init\n");

	PhcLinkBmp_Exit( wk, PL_BMP_PAGE_B );		// 下画面BMP設定解放

	PhcLinkBmp_Init( wk, PL_BMP_PAGE_E);		// 報酬画面１設定BMPWIN確保

	return SEQ_MAINSEQ_MAIN;
}

//==============================================================================
/**
 * @brief   報酬画面メインルーチン
 *
 * @param   wk	PHC画面ワーク
 *
 * @retval  	シーケンスNO
 */
//==============================================================================
int PhcLink_SeqBenefit_Main( PHCLINK_WORK *wk )
{

	wk->subseq = SubSeqFuncTbl[wk->subseq]( wk );
	if(wk->subseq == SUBSEQ_MAX){
		wk->subseq  = 0;
		return SEQ_MAINSEQ_END;
	}

	return SEQ_MAINSEQ_MAIN;
}
//==============================================================================
/**
 * @brief   報酬画面終了処理
 *
 * @param   wk	PHC画面ワーク
 *
 * @retval  	シーケンスNO
 */
//==============================================================================
int PhcLink_SeqBenefit_End( PHCLINK_WORK *wk )
{

	// スクリーンクリア
	GF_BGL_ScrFill(	wk->bgl, GF_BGL_FRAME1_M, 0x0000, 0, 0, 32, 24, GF_BGL_SCRWRT_PALNL );
	GF_BGL_ScrFill(	wk->bgl, GF_BGL_FRAME2_M, 0x0000, 0, 0, 32, 24, GF_BGL_SCRWRT_PALNL );
	GF_BGL_LoadScreenReq( wk->bgl, GF_BGL_FRAME1_M );
	GF_BGL_LoadScreenReq( wk->bgl, GF_BGL_FRAME2_M );


	PhcLinkBmp_Exit( wk, PL_BMP_PAGE_G );		// 下画面BMP設定解放

	PhcLinkBmp_Init( wk, PL_BMP_PAGE_B );		// 報酬画面１設定BMPWIN確保


	OS_Printf("PhcLink_SeqBenefit_End\n");
	return SEQ_MAINSEQ_INIT;
}


//==============================================================================
//==============================================================================
//==============================================================================
//==============================================================================
//==============================================================================
//==============================================================================
//==============================================================================
//==============================================================================
//==============================================================================
//==============================================================================
//==============================================================================
//==============================================================================
//==============================================================================

//------------------------------------------------------------------
/**
 * @brief   報酬画面開始（分岐等)
 *
 * @param   wk	PHC画面ワーク
 *
 * @retval  	シーケンスNO
 */
//------------------------------------------------------------------
static int subseq_start( PHCLINK_WORK *wk )				//
{
	// スクリーンクリア
	GF_BGL_ScrFill(	wk->bgl, GF_BGL_FRAME1_M, 0x0000, 0, 0, 32, 24, GF_BGL_SCRWRT_PALNL );

	// プレゼントのみ受け取り画面
	if(wk->subseq_flag==SENDRECV_RECV_PRESENT){
		return SUBSEQ_RESULT4_INIT_FADEOUT;
	}else if(wk->subseq_flag==SENDRECV_RECV_ONLY_POKEMON){
		return SUBSEQ_RESULT5_INIT_FADEOUT;
	}

	// 報酬画面タイトル読み込み
	PhcLink_BgGraphicSet( wk, GF_BGL_FRAME2_M, NARC_phc_ds_phcds_titlewin_d_lz_nscr );

	// 「きょうのたんけんけっか」
	PhcLinkBmp_TitlePrint_M( wk, PL_BMP_E_TITLE, wk->TodayResultStr, FONT_SYSTEM );

	return SUBSEQ_RESULT0_INIT;
}

//------------------------------------------------------------------
/**
 * @brief   たんけん結果画面初期化
 *
 * @param   wk	PHC画面ワーク
 *
 * @retval  	シーケンスNO
 */
//------------------------------------------------------------------
static int subseq_result0_init( PHCLINK_WORK *wk )			//
{
	int num=0;
	u32 step,wat;
	// WordSetに情報格納 ( コース名、歩数、ワット）
	WORDSET_RegisterPhcCourseName( wk->wset, 2, PhcSvData_GetLastCourse(wk->phc_svdata) );

	// 歩数の差を取得
	if(wk->phcsys.myStatusPHC.totalStep > wk->phcsys.old_total_step){
		num = wk->phcsys.myStatusPHC.totalStep - wk->phcsys.old_total_step;
	}

	PhcSvData_GetTotalStepWat( wk->phc_svdata, &step, &wat );
	WORDSET_RegisterNumber( wk->wset, 5, num,  7, NUMBER_DISPTYPE_LEFT, NUMBER_CODETYPE_DEFAULT );
	WORDSET_RegisterNumber( wk->wset, 3, wk->phcsys.Data.watt, 7, NUMBER_DISPTYPE_LEFT, NUMBER_CODETYPE_DEFAULT );
	WORDSET_RegisterNumber( wk->wset, 6, step, 7, NUMBER_DISPTYPE_LEFT, NUMBER_CODETYPE_DEFAULT );
	WORDSET_RegisterNumber( wk->wset, 7, wat,  7, NUMBER_DISPTYPE_LEFT, NUMBER_CODETYPE_DEFAULT );

	// ●●を
	PhcLinkBmp_StrPrintExpandColor_M( wk, PL_BMP_E_PLACE_NAME, phc_result_01, PHCCOL_T_WHITE );
	// ○○ほ　あるいた
	PhcLinkBmp_StrPrintExpandColor_M( wk, PL_BMP_E_WALK_NUM, phc_result_02, PHCCOL_T_WHITE );
	// ○○ワット　たまった
	PhcLinkBmp_StrPrintExpandColor_M( wk, PL_BMP_E_WAT_NUM, phc_result_03, PHCCOL_T_WHITE );

	// いままで　あるいた　ほすう
//	PhcLinkBmp_StrPrint_M( wk, PL_BMP_E_STILL_WALK, wk->StillWalkStr, FONT_SYSTEM );
	PhcLinkBmp_StrPrintColor_M( wk, PL_BMP_E_STILL_WALK, wk->StillWalkStr, FONT_SYSTEM, PHCCOL_T_WHITE );

	// ○○ほ
	PhcLinkBmp_StrPrintExpandColor_M( wk, PL_BMP_E_STILL_WALK_NUM, phc_result_05, PHCCOL_T_WHITE );

	// いままで　たまった　ワット
//	PhcLinkBmp_StrPrint_M( wk, PL_BMP_E_STILL_WAT, wk->StillWatStr, FONT_SYSTEM );
	PhcLinkBmp_StrPrintColor_M( wk, PL_BMP_E_STILL_WAT, wk->StillWatStr, FONT_SYSTEM, PHCCOL_T_WHITE );


	// ○○wat
	PhcLinkBmp_StrPrintExpandColor_M( wk, PL_BMP_E_STILL_WAT_NUM, phc_result_07, PHCCOL_T_WHITE );

	// ポケモンアイコン表示開始
	PhcLinkObj_Appear( wk, PLOBJ_ID_POKEICON_0 );
	PhcLinkObj_PosSet( wk, PLOBJ_ID_POKEICON_0, 210, 64 );

	PhcLinkObj_PokeIconChange( wk, 0, wk->phcsys.Rental.pokemon.id,  wk->phcsys.Rental.pokemon.folm);


	WIPE_SYS_Start(
		WIPE_PATTERN_WMS, WIPE_TYPE_FADEIN, WIPE_TYPE_FADEIN,
		WIPE_FADE_BLACK, WIPE_DEF_DIV, WIPE_DEF_SYNC, HEAPID_PHC_LINK );

	return SUBSEQ_RESULT0_FADE_WAIT;
}


//------------------------------------------------------------------
/**
 * @brief   フェード待ち
 *
 * @param   wk	PHC画面ワーク
 *
 * @retval  	シーケンスNO
 */
//------------------------------------------------------------------
static int subseq_result0_fade_wait( PHCLINK_WORK *wk )
{
	if( WIPE_SYS_EndCheck() == TRUE ){
		return SUBSEQ_RESULT0_MSG1;
	}
	return SUBSEQ_RESULT0_FADE_WAIT;

}

//------------------------------------------------------------------
/**
 * @brief   「●●●がかえってきた！」
 *
 * @param   wk	PHC画面ワーク
 *
 * @retval  	シーケンスNO
 */
//------------------------------------------------------------------
static int subseq_result0_msg1( PHCLINK_WORK *wk )
{
	// コース名
	WORDSET_RegisterPhcCourseName( wk->wset, 1, PhcSvData_GetLastCourse(wk->phc_svdata) );

	// ポケモン名
	{
		STRBUF *str = STRBUF_Create( BUFLEN_POKEMON_NAME, HEAPID_PHC_LINK );
//		STRBUF_SetStringCode( str, (STRCODE*)wk->phcsys.Rental.nickname );
		STRBUF_SetStringCodeOrderLength( str, (STRCODE*)wk->phcsys.Rental.nickname, MONS_NAME_SIZE+EOM_SIZE );
		WORDSET_RegisterWord( wk->wset, 1, str, wk->phcsys.Rental.pokemon.sex, 1, wk->phcsys.myStatusPHC.country_poke );
		STRBUF_Delete(str);
	}


	wk->MsgIndex    = PhcLinkBmp_TalkWinPrint( wk, PL_BMP_E_TALK, phc_result_msg01 );
	wk->subseq_next = SUBSEQ_RESULT0_MSG1_2;

	return SUBSEQ_MSG_COMMON_WAIT;
}

//------------------------------------------------------------------
/**
 * @brief   「●●●はレベルがあがった！」
 *
 * @param   wk	PHC画面ワーク
 *
 * @retval  	シーケンスNO
 */
//------------------------------------------------------------------
static int subseq_result0_msg1_2( PHCLINK_WORK *wk )
{
	// レベルアップしてない
	if(wk->levelup==0){
		// ワット取得メッセージへ
		return SUBSEQ_RESULT0_MSG2;
	}

	// レベルアップした
	wk->MsgIndex    = PhcLinkBmp_TalkWinPrint( wk, PL_BMP_E_TALK, phc_result_msg07 );
	wk->subseq_next = SUBSEQ_RESULT0_MSG2;

	Snd_MePlay( SEQ_ME_LVUP);

	// レベルアップフラグクリア
	wk->levelup     = 0;

	return SUBSEQ_MSG_COMMON_WAIT;

}



//------------------------------------------------------------------
/**
 * @brief   ●●●Ｗたまった！
 *
 * @param   wk	PHC画面ワーク
 *
 * @retval  	シーケンスNO
 */
//------------------------------------------------------------------
static int subseq_result0_msg2( PHCLINK_WORK *wk )
{

	// ０ｗだったらはげます。そうじゃなかったら報告する
	OS_Printf("watt=%d\n", wk->phcsys.Data.watt);
	if(wk->phcsys.Data.watt==0){
		wk->MsgIndex    = PhcLinkBmp_TalkWinPrint( wk, PL_BMP_E_TALK, phc_result_msg02_01 );
	}else{
		Snd_MePlay(SEQ_ME_ITEM);
		wk->MsgIndex    = PhcLinkBmp_TalkWinPrint( wk, PL_BMP_E_TALK, phc_result_msg02 );
	}


	wk->subseq_next = SUBSEQ_RESULT0_MSG3;

	return SUBSEQ_MSG_COMMON_WAIT;
}

//------------------------------------------------------------------
/**
 * @brief   「おや？たまったワットでポケウォーカーがはんおうしている！」
 *
 * @param   wk	PHC画面ワーク
 *
 * @retval  	シーケンスNO
 */
//------------------------------------------------------------------
static int subseq_result0_msg3( PHCLINK_WORK *wk )
{
	// 新しくコースがオープンしている場合は告知を行う

	OS_Printf("open_course=%d\n", wk->open_course_id);

	if(wk->open_course_id!=0){

		WORDSET_RegisterPhcCourseName( wk->wset, 4, wk->open_course_id );
		wk->MsgIndex    = PhcLinkBmp_TalkWinPrint( wk, PL_BMP_E_TALK, phc_result_msg03 );
		wk->subseq_next = SUBSEQ_RESULT0_MSG3_1;

		wk->open_course_id = 0;

		return SUBSEQ_MSG_COMMON_WAIT;
	}

	// 告知が無い場合はエンディング確認へ
	return SUBSEQ_RESULT0_MSG4;
}

//----------------------------------------------------------------------------------
/**
 * @brief	 「●●●コースがオープンした！」
 *
 * @param   wk	PHC画面ワーク
 *
 * @retval  	シーケンスNO
 */
//----------------------------------------------------------------------------------
static int subseq_result0_msg3_1( PHCLINK_WORK *wk )
{
	Snd_MePlay( SEQ_ME_KEYITEM);

	wk->MsgIndex    = PhcLinkBmp_TalkWinPrint( wk, PL_BMP_E_TALK, phc_result_msg10 );
	wk->subseq_next = SUBSEQ_RESULT0_MSG4;

	return SUBSEQ_MSG_COMMON_WAIT;

}

//------------------------------------------------------------------
/**
 * @brief    「エンディングをみた!」
 *
 * @param   wk	PHC画面ワーク
 *
 * @retval  	シーケンスNO
 */
//------------------------------------------------------------------
static int subseq_result0_msg4( PHCLINK_WORK *wk )
{
	if(wk->ending_flag){
		wk->ending_flag = 0;
		wk->MsgIndex    = PhcLinkBmp_TalkWinPrint( wk, PL_BMP_E_TALK, phc_result_msg08 );
		wk->subseq_next = SUBSEQ_RESULT0_MSG5;

		return SUBSEQ_MSG_COMMON_WAIT;
	}

	// エンディング確認もなかったら報酬画面0終了
	return SUBSEQ_RESULT0_FADEOUT;

}


//----------------------------------------------------------------------------------
/**
 * @brief 「ごほうびにスターのみをもらった！」
 *
 * @param   wk	PHC画面ワーク
 *
 * @retval  	シーケンスNO
 */
//----------------------------------------------------------------------------------
static int subseq_result0_msg5( PHCLINK_WORK *wk )
{
	wk->MsgIndex    = PhcLinkBmp_TalkWinPrint( wk, PL_BMP_E_TALK, phc_result_msg09 );
	wk->subseq_next = SUBSEQ_RESULT0_FADEOUT;
	Snd_MePlay( SEQ_ME_KEYITEM);
	return SUBSEQ_MSG_COMMON_WAIT;

}


//------------------------------------------------------------------
/**
 * @brief   ポケモン帰ってきた画面終わり
 *
 * @param   wk	PHC画面ワーク
 *
 * @retval  	シーケンスNO
 */
//------------------------------------------------------------------
static int subseq_result0_fadeout( PHCLINK_WORK *wk )
{
	WIPE_SYS_Start(
		WIPE_PATTERN_WMS, WIPE_TYPE_FADEOUT, WIPE_TYPE_FADEOUT,
		WIPE_FADE_BLACK, WIPE_DEF_DIV, WIPE_DEF_SYNC, HEAPID_PHC_LINK );
	return SUBSEQ_RESULT0_FADEOUT_WAIT;
}

//------------------------------------------------------------------
/**
 * @brief   フェード待ち
 *
 * @param   wk	PHC画面ワーク
 *
 * @retval  	シーケンスNO
 */
//------------------------------------------------------------------
static int subseq_result0_fadeout_wait( PHCLINK_WORK *wk )
{
	if( WIPE_SYS_EndCheck() == TRUE ){
		return SUBSEQ_RESULT1_INIT;
	}
	return SUBSEQ_RESULT0_FADEOUT_WAIT;

}

//------------------------------------------------------------------
/**
 * @brief   ポケモンの捕獲状況を数える
 *
 * @param   data		PHC受け取りデータ
 * @param   distribute	配布データ
 *
 * @retval  int		0-4
 */
//------------------------------------------------------------------
static int _get_pokemon_num( PHCData *data, PHCDistributeData *distribute )
{
	int i, count=0;

	// 通常の捕獲結果
	for(i=0;i<3;i++){
		if(data->pokemon[i].id!=0 && data->pokemon[i].id<=MONSNO_END){
			count++;
		}
	}

	// 配布ポケモン
	if( distribute->info.isPokemon){
		if(distribute->pokemon.pokemon.id!=0 && distribute->pokemon.pokemon.id<=MONSNO_END){
			count++;
		}
	}

	return count;

}

//------------------------------------------------------------------
/**
 * @brief   ポケモン報酬画面開始
 *
 * @param   wk	PHC画面ワーク
 *
 * @retval  	シーケンスNO
 */
//------------------------------------------------------------------
static int subseq_result1_init( PHCLINK_WORK *wk )
{
	int i;


	PhcLinkBmp_Exit( wk, PL_BMP_PAGE_E );		// 下画面BMP設定解放

	PhcLinkBmp_Init( wk, PL_BMP_PAGE_F );		// 報酬画面2設定BMPWIN確保

	GF_BGL_ScrFill(	wk->bgl, GF_BGL_FRAME1_M, 0x0000, 0, 0, 32, 24, GF_BGL_SCRWRT_PALNL );

	// 捕まえたポケモン数える

	// 捕まえたポケモンがいなかったらとばす
	if(_get_pokemon_num(&wk->phcsys.Data, &wk->phcsys.Distribute)==0){
		PhcLinkObj_Disappear( wk, PLOBJ_ID_POKEICON_0 );
		return SUBSEQ_RESULT2_INIT;

	}

	// 報酬画面タイトル読み込み
	PhcLink_BgGraphicSet( wk, GF_BGL_FRAME2_M, NARC_phc_ds_phcds_titlewin_d_lz_nscr );

	// 「おでかけでつれてきたポケモン」
	PhcLinkBmp_TitlePrint_M( wk, PL_BMP_F_TITLE, wk->PokemonResultStr, FONT_SYSTEM );


	// 「おでかけでつれてきたポケモン」
	PhcLinkBmp_TitlePrint_M( wk, PL_BMP_F_TITLE, wk->PokemonResultStr, FONT_SYSTEM );

	// 一旦全部隠す
	for(i=0;i<4;i++){
		PhcLinkObj_Disappear( wk, PLOBJ_ID_POKEICON_0+i );
	}
	// 座標設定
	PhcLinkObj_PosSet( wk, PLOBJ_ID_POKEICON_0,  40, 64 );
	PhcLinkObj_PosSet( wk, PLOBJ_ID_POKEICON_1, 144, 64 );
	PhcLinkObj_PosSet( wk, PLOBJ_ID_POKEICON_2,  40, 96  );
	PhcLinkObj_PosSet( wk, PLOBJ_ID_POKEICON_3, 144, 96  );

	// ポケモンアイコン表示・捕獲ポケモン表示
	for(i=0;i<3;i++){
		if(wk->phcsys.Data.pokemon[i].id!=0){
			PhcLinkObj_Appear( wk, PLOBJ_ID_POKEICON_0+i );
			WORDSET_RegisterMonsName( wk->wset, 8+i, wk->phcsys.Data.pokemon[i].id );
			PhcLinkBmp_StrPrintExpandColor_M( wk, PL_BMP_F_POKEMON_0+i, phc_result_poke01+i, PHCCOL_T_WHITE );
			PhcLinkObj_PokeIconChange( wk, i,wk->phcsys.Data.pokemon[i].id, wk->phcsys.Data.pokemon[i].folm );
		}
	}

	// 配布ポケモン表示
	if(wk->phcsys.Distribute.info.isPokemon){
		PHCPokemonBase *pb = &wk->phcsys.Distribute.pokemon.pokemon;
		PHCPokemonInfo *pi = &wk->phcsys.Distribute.pokemon.pokeInfo;
		if(pb->id!=0){
			PhcLinkObj_Appear( wk, PLOBJ_ID_POKEICON_0+3 );
			WORDSET_RegisterMonsName( wk->wset, 8+3, pb->id );
			PhcLinkBmp_StrPrintExpandColor_M( wk, PL_BMP_F_POKEMON_0+3, phc_result_poke01+3, PHCCOL_T_WHITE );
			PhcLinkObj_PokeIconChange( wk, 3,pb->id, pb->folm );
		}
	}


	WIPE_SYS_Start(
		WIPE_PATTERN_WMS, WIPE_TYPE_FADEIN, WIPE_TYPE_FADEIN,
		WIPE_FADE_BLACK, WIPE_DEF_DIV, WIPE_DEF_SYNC, HEAPID_PHC_LINK );

	return SUBSEQ_RESULT1_FADE_WAIT;

}

//------------------------------------------------------------------
/**
 * @brief   フェード待ち
 *
 * @param   wk	PHC画面ワーク
 *
 * @retval  	シーケンスNO
 */
//------------------------------------------------------------------
static int subseq_result1_fade_wait( PHCLINK_WORK *wk )
{
	if( WIPE_SYS_EndCheck() == TRUE ){
		return SUBSEQ_RESULT1_MSG1;
	}
	return SUBSEQ_RESULT1_FADE_WAIT;

}

//------------------------------------------------------------------
/**
 * @brief   「つれてきたポケモンをボックスにしまった」
 *
 * @param   wk	PHC画面ワーク
 *
 * @retval  	シーケンスNO
 */
//------------------------------------------------------------------
static int subseq_result1_msg1( PHCLINK_WORK *wk )
{
	wk->MsgIndex    = PhcLinkBmp_TalkWinPrint( wk, PL_BMP_F_TALK, phc_result_msg04 );
	wk->subseq_next = SUBSEQ_RESULT1_FADEOUT;

	Snd_MePlay( SEQ_ME_KEYITEM);

	return SUBSEQ_MSG_COMMON_WAIT;
}

//------------------------------------------------------------------
/**
 * @brief   ポケモン報酬画面終了
 *
 * @param   wk	PHC画面ワーク
 *
 * @retval  	シーケンスNO
 */
//------------------------------------------------------------------
static int subseq_result1_fadeout( PHCLINK_WORK *wk )
{
	WIPE_SYS_Start(
		WIPE_PATTERN_WMS, WIPE_TYPE_FADEOUT, WIPE_TYPE_FADEOUT,
		WIPE_FADE_BLACK, WIPE_DEF_DIV, WIPE_DEF_SYNC, HEAPID_PHC_LINK );
	return SUBSEQ_RESULT1_FADEOUT_WAIT;
}
//------------------------------------------------------------------
/**
 * @brief   フェード待ち
 *
 * @param   wk	PHC画面ワーク
 *
 * @retval  	シーケンスNO
 */
//------------------------------------------------------------------
static int subseq_result1_fadeout_wait( PHCLINK_WORK *wk )
{
	int i;
	if( WIPE_SYS_EndCheck() == TRUE ){
		// 捕まえたポケモンを隠す
		for(i=0;i<4;i++){
			PhcLinkObj_Disappear( wk, PLOBJ_ID_POKEICON_0+i );
		}
		return SUBSEQ_RESULT2_INIT;
	}
	return SUBSEQ_RESULT1_FADEOUT_WAIT;

}


#define PHC_BENEFIT_ITEM_MAX	( 14 )
#define PHC_DOWSING_ITEM_NUM		(  3 )
#define PHC_FRIEND_ITEM_NUM		( 10 )

//----------------------------------------------------------------------------------
/**
 * @brief	獲得したどうぐを配列に格納する
 *
 * @param   list[]		どうぐNOを格納する配列
 * @param   item		追加するどうぐNO
 */
//----------------------------------------------------------------------------------
static void _add_itemlist( u16 list[], u16 item )
{
	int i;
	// あいてる場所を探す
	for(i=0;i<PHC_BENEFIT_ITEM_MAX;i++){
		if(list[i]==0){
			break;
		}
	}

	GF_ASSERT( i<PHC_BENEFIT_ITEM_MAX );

	// リストにアイテム格納
	list[i] = item;
}

//----------------------------------------------------------------------------------
/**
 * @brief	獲得したどうぐの総数を返す
 *
 * @param   wk		PHC画面ワーク
 *
 * @retval  int		どうぐの数
 */
//----------------------------------------------------------------------------------
static int _get_item_num( PHCLINK_WORK *wk )
{
	int i, count=0;

	// ダウジングで見つけた
	for(i=0;i<3;i++){
		if(wk->phcsys.Data.item[i].ID!=0){
			count++;
		}
	}

	// 友達と通信して見つけた
	for(i=0;i<10;i++){
		if(wk->phcsys.Data.itemFriend[i].ID!=0){
			count++;
		}
	}

	// 配布でもらった
	if(wk->phcsys.Distribute.info.isItem){
		if(wk->phcsys.Distribute.item.itemNumber!=0){
			count++;
		}
	}

	return count;
}

//------------------------------------------------------------------
/**
 * @brief   どうぐ報酬画面開始
 *
 * @param   wk	PHC画面ワーク
 *
 * @retval  	シーケンスNO
 */
//------------------------------------------------------------------
static int subseq_result2_init( PHCLINK_WORK *wk )
{
	int i;
	u16 itemlist[PHC_BENEFIT_ITEM_MAX];
	STRBUF *str;

	PhcLinkBmp_Exit( wk, PL_BMP_PAGE_F );		// 下画面BMP設定解放

	PhcLinkBmp_Init( wk, PL_BMP_PAGE_G );		// 報酬画面2設定BMPWIN確保

	if(_get_item_num(wk)==0){
		return SUBSEQ_END;
	}

	GF_BGL_ScrFill(	wk->bgl, GF_BGL_FRAME1_M, 0x0000, 0, 0, 32, 24, GF_BGL_SCRWRT_PALNL );
	// 報酬画面タイトル読み込み
	PhcLink_BgGraphicSet( wk, GF_BGL_FRAME2_M, NARC_phc_ds_phcds_titlewin_d_lz_nscr );

	// 「おでかけでみつけたどうぐ」
	PhcLinkBmp_TitlePrint_M( wk, PL_BMP_G_TITLE, wk->ItemResultStr, FONT_SYSTEM );

#ifdef PHC_ITEM_TEST

	for(i=0;i<PHC_DOWSING_ITEM_NUM;i++){
		wk->phcsys.Data.item[i].ID = 1+i;
	}
	for(i=0;i<PHC_FRIEND_ITEM_NUM;i++){
		wk->phcsys.Data.itemFriend[i].ID = 3+i;
	}
	wk->phcsys.Distribute.info.isItem = 1;
	wk->phcsys.Distribute.item.itemNumber = 14;
#endif

	// アイテムリスト構築
	MI_CpuClearFast( itemlist, PHC_BENEFIT_ITEM_MAX*2 );
	for(i=0;i<PHC_DOWSING_ITEM_NUM;i++){
		_add_itemlist( itemlist, (u16)wk->phcsys.Data.item[i].ID );
	}
	for(i=0;i<PHC_FRIEND_ITEM_NUM;i++){
		_add_itemlist( itemlist, (u16)wk->phcsys.Data.itemFriend[i].ID );
	}

	// 配布アイテム処理
	if(wk->phcsys.Distribute.info.isItem){
		_add_itemlist( itemlist, (u16)wk->phcsys.Distribute.item.itemNumber );
		// 受け取った告知をして配布アイテム削除
		MI_CpuClearFast( &wk->phcsys.Distribute, sizeof(PHCDistributeData));
		MI_CpuClearFast( &wk->phcsys.Data, 		 sizeof(PHCData));
	}

	// アイテム名描画
	str = STRBUF_Create( BUFLEN_ITEM_NAME+EOM_SIZE, HEAPID_PHC_LINK );
	for(i=0;i<PHC_BENEFIT_ITEM_MAX;i++){
		if(itemlist[i]==0){
			break;
		}
		OS_Printf("item%d=%d\n", i, itemlist[i]);
		GetItemName( str, itemlist[i], HEAPID_PHC_LINK );
//		PhcLinkBmp_StrPrint_M( wk, PL_BMP_G_ITEM_0+i, str, FONT_SYSTEM );
		PhcLinkBmp_StrPrintColor_M( wk, PL_BMP_G_ITEM_0+i, str, FONT_SYSTEM, PHCCOL_T_WHITE );
	}
	STRBUF_Delete(str);

	WIPE_SYS_Start(
		WIPE_PATTERN_WMS, WIPE_TYPE_FADEIN, WIPE_TYPE_FADEIN,
		WIPE_FADE_BLACK, WIPE_DEF_DIV, WIPE_DEF_SYNC, HEAPID_PHC_LINK );

	return SUBSEQ_RESULT2_FADE_WAIT;
}


//------------------------------------------------------------------
/**
 * @brief   フェード待ち
 *
 * @param   wk	PHC画面ワーク
 *
 * @retval  	シーケンスNO
 */
//------------------------------------------------------------------
static int subseq_result2_fade_wait( PHCLINK_WORK *wk )
{
	if( WIPE_SYS_EndCheck() == TRUE ){
		return SUBSEQ_RESULT2_MSG1;
	}
	return SUBSEQ_RESULT2_FADE_WAIT;

}


//------------------------------------------------------------------
/**
 * @brief   「どうぐをしまった」
 *
 * @param   wk	PHC画面ワーク
 *
 * @retval  	シーケンスNO
 */
//------------------------------------------------------------------
static int subseq_result2_msg1( PHCLINK_WORK *wk )
{
	wk->MsgIndex    = PhcLinkBmp_TalkWinPrint( wk, PL_BMP_G_TALK, phc_result_msg05 );
	wk->subseq_next = SUBSEQ_RESULT2_FADEOUT;

	Snd_MePlay( SEQ_ME_KEYITEM);

	return SUBSEQ_MSG_COMMON_WAIT;
}



//------------------------------------------------------------------
/**
 * @brief   フェードアウト
 *
 * @param   wk	PHC画面ワーク
 *
 * @retval  	シーケンスNO
 */
//------------------------------------------------------------------
static int subseq_result2_fadeout( PHCLINK_WORK *wk )
{
	WIPE_SYS_Start(
		WIPE_PATTERN_WMS, WIPE_TYPE_FADEOUT, WIPE_TYPE_FADEOUT,
		WIPE_FADE_BLACK, WIPE_DEF_DIV, WIPE_DEF_SYNC, HEAPID_PHC_LINK );
	return SUBSEQ_RESULT2_FADEOUT_WAIT;
}

//------------------------------------------------------------------
/**
 * @brief   フェード待ち
 *
 * @param   wk	PHC画面ワーク
 *
 * @retval  	シーケンスNO
 */
//------------------------------------------------------------------
static int subseq_result2_fadeout_wait( PHCLINK_WORK *wk )
{
	if( WIPE_SYS_EndCheck() == TRUE ){
		return SUBSEQ_END;
	}
	return SUBSEQ_RESULT2_FADEOUT_WAIT;

}

//------------------------------------------------------------------
/**
 * @brief   フェードアウト
 *
 * @param   wk	PHC画面ワーク
 *
 * @retval  	シーケンスNO
 */
//------------------------------------------------------------------
static int subseq_result4_init_fadeout( PHCLINK_WORK *wk )
{
	WIPE_SYS_Start(
		WIPE_PATTERN_WMS, WIPE_TYPE_FADEOUT, WIPE_TYPE_FADEOUT,
		WIPE_FADE_BLACK, WIPE_DEF_DIV, WIPE_DEF_SYNC, HEAPID_PHC_LINK );
	return SUBSEQ_RESULT4_INIT_FADEOUT_WAIT;
}

//------------------------------------------------------------------
/**
 * @brief   フェード待ち
 *
 * @param   wk	PHC画面ワーク
 *
 * @retval  	シーケンスNO
 */
//------------------------------------------------------------------
static int subseq_result4_init_fadeout_wait( PHCLINK_WORK *wk )
{
	if( WIPE_SYS_EndCheck() == TRUE ){
		return SUBSEQ_RESULT4_INIT;
	}
	return SUBSEQ_RESULT4_INIT_FADEOUT_WAIT;

}


//------------------------------------------------------------------
/**
 * @brief   ポケモンがいない時のプレゼント通信での結果画面
 *
 * @param   wk	PHC画面ワーク
 *
 * @retval  	シーケンスNO
 */
//------------------------------------------------------------------
static int subseq_result4_init( PHCLINK_WORK *wk )
{
	int num=0;
	u32 step,wat;
	GF_BGL_ScrFill(	wk->bgl, GF_BGL_FRAME1_M, 0x0000, 0, 0, 32, 24, GF_BGL_SCRWRT_PALNL );

	// 報酬画面タイトル読み込み
	PhcLink_BgGraphicSet( wk, GF_BGL_FRAME2_M, NARC_phc_ds_phcds_titlewin_d_lz_nscr );

	// 「きょうのたんけんけっか」
	PhcLinkBmp_TitlePrint_M( wk, PL_BMP_E_TITLE, wk->PresentResultStr, FONT_SYSTEM );

	// WordSetに情報格納 ( コース名、歩数、ワット）
	WORDSET_RegisterPhcCourseName( wk->wset, 2, PhcSvData_GetLastCourse(wk->phc_svdata) );

	if(wk->phcsys.myStatusPHC.totalStep > wk->phcsys.old_total_step){
		num = wk->phcsys.myStatusPHC.totalStep - wk->phcsys.old_total_step;
	}

	PhcSvData_GetTotalStepWat( wk->phc_svdata, &step, &wat );
	WORDSET_RegisterNumber( wk->wset, 5, num,  7, NUMBER_DISPTYPE_LEFT, NUMBER_CODETYPE_DEFAULT );
	WORDSET_RegisterNumber( wk->wset, 3, wk->phcsys.Data.watt, 5, NUMBER_DISPTYPE_LEFT, NUMBER_CODETYPE_DEFAULT );
	WORDSET_RegisterNumber( wk->wset, 6, step, 7, NUMBER_DISPTYPE_LEFT, NUMBER_CODETYPE_DEFAULT );
	WORDSET_RegisterNumber( wk->wset, 7, wat,  7, NUMBER_DISPTYPE_LEFT, NUMBER_CODETYPE_DEFAULT );


	// いままで　あるいた　ほすう
	PhcLinkBmp_StrPrintColor_M( wk, PL_BMP_E_STILL_WALK, wk->StillWalkStr, FONT_SYSTEM, PHCCOL_T_WHITE );

	// ○○ほ
	PhcLinkBmp_StrPrintExpandColor_M( wk, PL_BMP_E_STILL_WALK_NUM, phc_result_05, PHCCOL_T_WHITE );

	// いままで　たまった　ワット
	PhcLinkBmp_StrPrintColor_M( wk, PL_BMP_E_STILL_WAT, wk->StillWatStr, FONT_SYSTEM, PHCCOL_T_WHITE );

	// ○○wat
	PhcLinkBmp_StrPrintExpandColor_M( wk, PL_BMP_E_STILL_WAT_NUM, phc_result_07, PHCCOL_T_WHITE );

	WIPE_SYS_Start(
		WIPE_PATTERN_WMS, WIPE_TYPE_FADEIN, WIPE_TYPE_FADEIN,
		WIPE_FADE_BLACK, WIPE_DEF_DIV, WIPE_DEF_SYNC, HEAPID_PHC_LINK );

	return SUBSEQ_RESULT4_FADE_WAIT;

}

//----------------------------------------------------------------------------------
/**
 * @brief	 フェードイン待ち
 *
 * @param   wk	PHC画面ワーク
 *
 * @retval  	シーケンスNO
 */
//----------------------------------------------------------------------------------
static int subseq_result4_fade_wait( PHCLINK_WORK *wk )	// フェード待ち
{
	if( WIPE_SYS_EndCheck() == TRUE ){
		return SUBSEQ_RESULT4_MSG2;
	}
	return SUBSEQ_RESULT4_FADE_WAIT;

}


//----------------------------------------------------------------------------------
/**
 * @brief	 「ワットが○ｗたまった！」
 *
 * @param   wk	PHC画面ワーク
 *
 * @retval  	シーケンスNO
 */
//----------------------------------------------------------------------------------
static int subseq_result4_msg2( PHCLINK_WORK *wk )			// 「ワットがたまった！」
{

	// ０ｗだったらはげます。そうじゃなかったら報告する
	OS_Printf("watt=%d\n", wk->phcsys.Data.watt);
	if(wk->phcsys.Data.watt==0){
		wk->MsgIndex    = PhcLinkBmp_TalkWinPrint( wk, PL_BMP_E_TALK, phc_result_msg02_01 );
	}else{
		wk->MsgIndex    = PhcLinkBmp_TalkWinPrint( wk, PL_BMP_E_TALK, phc_result_msg02 );
	}
	wk->subseq_next = SUBSEQ_RESULT4_MSG3;

	return SUBSEQ_MSG_COMMON_WAIT;

}


//----------------------------------------------------------------------------------
/**
 * @brief	 「おや？たまったワットでポケウォーカーがはんのうしている！」
 *
 * @param   wk	PHC画面ワーク
 *
 * @retval  	シーケンスNO
 */
//----------------------------------------------------------------------------------
static int subseq_result4_msg3( PHCLINK_WORK *wk )			// 「ワットがたまった！」
{
	// コースオープンでなければスルー
	if(wk->open_course_id!=0){
		WORDSET_RegisterPhcCourseName( wk->wset, 4, wk->open_course_id );
		wk->MsgIndex    = PhcLinkBmp_TalkWinPrint( wk, PL_BMP_E_TALK, phc_result_msg03 );
		wk->subseq_next = SUBSEQ_RESULT4_FADEOUT;

		wk->open_course_id = 0;
		return SUBSEQ_MSG_COMMON_WAIT;
	}

	return SUBSEQ_RESULT4_FADEOUT;

}

//----------------------------------------------------------------------------------
/**
 * @brief	 プレゼント報酬画面終了
 *
 * @param   wk	PHC画面ワーク
 *
 * @retval  	シーケンスNO
 */
//----------------------------------------------------------------------------------

static int subseq_result4_fadeout( PHCLINK_WORK *wk )		// 「コースがふえた！」
{
	WIPE_SYS_Start(
		WIPE_PATTERN_WMS, WIPE_TYPE_FADEOUT, WIPE_TYPE_FADEOUT,
		WIPE_FADE_BLACK, WIPE_DEF_DIV, WIPE_DEF_SYNC, HEAPID_PHC_LINK );
	return SUBSEQ_RESULT4_FADEOUT_WAIT;

}
static int subseq_result4_fadeout_wait( PHCLINK_WORK *wk )	// フェードアウト（半透明？）
{
	if( WIPE_SYS_EndCheck() == TRUE ){
		return SUBSEQ_RESULT1_INIT;
	}
	return SUBSEQ_RESULT4_FADEOUT_WAIT;

}


//----------------------------------------------------------------------------------
/**
 * @brief	 ポケモンを預けた時の配布物受け取りフェードアウト
 *
 * @param   wk	PHC画面ワーク
 *
 * @retval  	シーケンスNO
 */
//----------------------------------------------------------------------------------
static int 	subseq_result5_init_fadeout( PHCLINK_WORK *wk )
{
	WIPE_SYS_Start(
		WIPE_PATTERN_WMS, WIPE_TYPE_FADEOUT, WIPE_TYPE_FADEOUT,
		WIPE_FADE_BLACK, WIPE_DEF_DIV, WIPE_DEF_SYNC, HEAPID_PHC_LINK );

	return SUBSEQ_RESULT5_INIT_FADEOUT_WAIT;
}

//----------------------------------------------------------------------------------
/**
 * @brief	 ポケモンがいない時の配布物受け取りフェード待ち
 *
 * @param   wk	PHC画面ワーク
 *
 * @retval  	シーケンスNO
 */
//----------------------------------------------------------------------------------
static int 	subseq_result5_init_fadeout_wait( PHCLINK_WORK *wk )
{
	if( WIPE_SYS_EndCheck() == TRUE ){
		return SUBSEQ_RESULT5_INIT;
	}
	return SUBSEQ_RESULT5_INIT_FADEOUT_WAIT;
}

//----------------------------------------------------------------------------------
/**
 * @brief	 ポケモンがいない時の配布物受け取り画面
 *
 * @param   wk	PHC画面ワーク
 *
 * @retval  	シーケンスNO
 */
//----------------------------------------------------------------------------------
static int 	subseq_result5_init( PHCLINK_WORK *wk )
{
	int num=0;
	u32 step,wat;
	GF_BGL_ScrFill(	wk->bgl, GF_BGL_FRAME1_M, 0x0000, 0, 0, 32, 24, GF_BGL_SCRWRT_PALNL );

	// 報酬画面タイトル読み込み
	PhcLink_BgGraphicSet( wk, GF_BGL_FRAME2_M, NARC_phc_ds_phcds_titlewin_d_lz_nscr );

	// 「あずけるまでの　けっか」
	PhcLinkBmp_TitlePrint_M( wk, PL_BMP_E_TITLE, wk->SendResultStr, FONT_SYSTEM );

	// WordSetに情報格納 ( コース名、歩数、ワット）
	WORDSET_RegisterPhcCourseName( wk->wset, 2, PhcSvData_GetLastCourse(wk->phc_svdata) );

	if(wk->phcsys.myStatusPHC.totalStep > wk->phcsys.old_total_step){
		num = wk->phcsys.myStatusPHC.totalStep - wk->phcsys.old_total_step;
	}

	PhcSvData_GetTotalStepWat( wk->phc_svdata, &step, &wat );
	WORDSET_RegisterNumber( wk->wset, 5, num,  7, NUMBER_DISPTYPE_LEFT, NUMBER_CODETYPE_DEFAULT );
	WORDSET_RegisterNumber( wk->wset, 3, wk->phcsys.Data.watt, 5, NUMBER_DISPTYPE_LEFT, NUMBER_CODETYPE_DEFAULT );
	WORDSET_RegisterNumber( wk->wset, 6, step, 7, NUMBER_DISPTYPE_LEFT, NUMBER_CODETYPE_DEFAULT );
	WORDSET_RegisterNumber( wk->wset, 7, wat,  7, NUMBER_DISPTYPE_LEFT, NUMBER_CODETYPE_DEFAULT );


	// いままで　あるいた　ほすう
	PhcLinkBmp_StrPrintColor_M( wk, PL_BMP_E_STILL_WALK, wk->StillWalkStr, FONT_SYSTEM, PHCCOL_T_WHITE );

	// ○○ほ
	PhcLinkBmp_StrPrintExpandColor_M( wk, PL_BMP_E_STILL_WALK_NUM, phc_result_05, PHCCOL_T_WHITE );

	// いままで　たまった　ワット
	PhcLinkBmp_StrPrintColor_M( wk, PL_BMP_E_STILL_WAT, wk->StillWatStr, FONT_SYSTEM, PHCCOL_T_WHITE );

	// ○○wat
	PhcLinkBmp_StrPrintExpandColor_M( wk, PL_BMP_E_STILL_WAT_NUM, phc_result_07, PHCCOL_T_WHITE );

	// フェードイン
	WIPE_SYS_Start(
		WIPE_PATTERN_WMS, WIPE_TYPE_FADEIN, WIPE_TYPE_FADEIN,
		WIPE_FADE_BLACK, WIPE_DEF_DIV, WIPE_DEF_SYNC, HEAPID_PHC_LINK );

	return SUBSEQ_RESULT5_FADE_WAIT;
}

//----------------------------------------------------------------------------------
/**
 * @brief	 フェードイン待ち
 *
 * @param   wk	PHC画面ワーク
 *
 * @retval  	シーケンスNO
 */
//----------------------------------------------------------------------------------
static int 	subseq_result5_fade_wait( PHCLINK_WORK *wk )
{
	if( WIPE_SYS_EndCheck() == TRUE ){
		return SUBSEQ_RESULT5_MSG1;
	}

	return SUBSEQ_RESULT5_FADE_WAIT;
}


//----------------------------------------------------------------------------------
/**
 * @brief	 「〜Ｗたまった」
 *
 * @param   wk	PHC画面ワーク
 *
 * @retval  	シーケンスNO
 */
//----------------------------------------------------------------------------------
static int subseq_result5_msg1( PHCLINK_WORK *wk )
{

	// ０ｗだったらはげます。そうじゃなかったら報告する
	OS_Printf("watt=%d\n", wk->phcsys.Data.watt);
	if(wk->phcsys.Data.watt==0){
		// 「いま連れ歩いているポケモンとはもっとあるこう！」みたいな文章
		wk->MsgIndex    = PhcLinkBmp_TalkWinPrint( wk, PL_BMP_E_TALK, phc_result_msg02_02 );
	}else{
		Snd_MePlay(SEQ_ME_ITEM);
		wk->MsgIndex    = PhcLinkBmp_TalkWinPrint( wk, PL_BMP_E_TALK, phc_result_msg02 );
	}


	// エンディング成果発表へ(ここからポケモン引取り画面と同じ流れに）
	wk->subseq_next = SUBSEQ_RESULT0_MSG4;
	return SUBSEQ_MSG_COMMON_WAIT;
}



//------------------------------------------------------------------
/**
 * @brief   共通会話ウインドウ終了待ち
 *
 * @param   wk	PHC画面ワーク
 *
 * @retval  	シーケンスNO
 */
//------------------------------------------------------------------
static int subseq_msg_common_wait( PHCLINK_WORK *wk )
{
	if(GF_MSG_PrintEndCheck( wk->MsgIndex )==0 && Snd_MePlayCheckBgmPlay()==FALSE){
		wk->subseq = wk->subseq_next;
		return wk->subseq;
	}
	return SUBSEQ_MSG_COMMON_WAIT;

}


//------------------------------------------------------------------
/**
 * @brief   報酬画面終了
 *
 * @param   wk	PHC画面ワーク
 *
 * @retval  	シーケンスNO
 */
//------------------------------------------------------------------
static int subseq_end( PHCLINK_WORK *wk )
{
	wk->mainseq_next = MAINSEQ_START;

	return SUBSEQ_MAX;

}

